package com.zhanjixun.weixin;

import com.zhanjixun.weixin.domain.WxMsg;

/**
 * 消息处理接口
 *
 * @author :zhanjixun
 * @date : 2018/11/19 11:44
 */
public interface WxMsgHandler {
    /**
     * 文本消息
     *
     * @param msg
     */
    void handleTextMsg(WxMsg msg);

    /**
     * 图片消息
     *
     * @param msg
     */
    void handleImageMsg(WxMsg msg);

    /**
     * 撤回消息
     * 包括自己的撤回消息也会传递过来
     *
     * @param msg
     */
    void handleRevokeMsg(WxMsg msg);

    /**
     * 动图表情
     *
     * @param msg
     */
    void handleEmoticonMsg(WxMsg msg);

    /**
     * 语音消息
     *
     * @param msg
     */
    void handleVoiceMsg(WxMsg msg);

    /**
     * 视频消息
     *
     * @param msg
     */
    void handleVideoMsg(WxMsg msg);

    /**
     * 文件消息
     *
     * @param msg
     */
    void handleFileMsg(WxMsg msg);

    /**
     * 分享链接消息
     *
     * @param msg
     */
    void handleLinkMsg(WxMsg msg);

    /**
     * 位置分享消息
     * 本质上也是文本消息
     * subMsgType为48
     *
     * @param msg
     */
    void handleLocationMsg(WxMsg msg);

    /**
     * 系统消息
     * 红包也是系统消息
     *
     * @param msg
     */
    void handleSysMsg(WxMsg msg);

    /**
     * 推荐名片
     *
     * @param msg
     */
    void handleCardMsg(WxMsg msg);

    /**
     * 小程序消息
     *
     * @param msg
     */
    void handleMiniProgramMsg(WxMsg msg);
}
